home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / xvidoc.zip / SUMMARY.MS < prev    next >
Text File  |  1992-07-28  |  22KB  |  747 lines

  1. .\"========== Macro definitions
  2. .\"========== Three-column output
  3. .de c3
  4. .ta 1.5i 3i 4.5i
  5. \\$1    \\$2    \\$3
  6. .br
  7. ..
  8. .\"========== Put string in boldface & surround with quotes
  9. .de qB
  10. \%\*Q\fB\\$1\fP\*U\\$2
  11. ..
  12. .\"========== Redefine NH to avoid widowing
  13. .rn NH Nh
  14. .de NH
  15. .if \\$1=1 .ne 1.5i
  16. .ne 1i
  17. .Nh \\$1 \\$2
  18. ..
  19. .\"========== End of macros
  20. .\"========== 11 on 13 looks so much better than 10 on 12
  21. .nr PS 11
  22. .nr VS 13
  23. .ps 11
  24. .vs 13p
  25. .nr HM 0.9i
  26. .nr FM 0.9i
  27. .if n .nr PO 0.5i
  28. .if n .nr LL 6.5i
  29. .\"========== Turn hyphenation off, and make sure it stays off
  30. .nh
  31. .rm hy
  32. .\"========== Headers in italics helps them to stand out from the text
  33. .OH '\fISummary of Differences between Vi and Xvi\fP''\fI%\fP'
  34. .EH '\fI%\fP''\fISummary of Differences between Vi and Xvi\fP'
  35. .OF '\fI25th September 1992\fP''\fIPage %\fP'
  36. .EF '\fIPage %\fP''\fI25th September 1992\fP'
  37. .\"===================== End of header; start of document ====================
  38. .TL
  39. Summary of Differences between Vi and Xvi
  40. .AU
  41. Chris Downey
  42. John Downey
  43. .AB no
  44. \fBXvi\fP (pronounced \fIecks-vee-eye\fP)
  45. is a free, portable, multi-window implementation of the popular
  46. .UX
  47. editor \fBvi\fP.
  48. .LP
  49. This document summarises the differences between the ``real'' \fBvi\fP
  50. and \fBxvi\fP.
  51. These differences are divided into three groups:
  52. \fIunimplemented features\fP,
  53. \fIdifferences\fP
  54. and \fIenhancements\fP,
  55. and each of these is described in the following sections.
  56. .AE
  57. .\"===========================================================================
  58. .NH 1
  59. Unimplemented Features
  60. .\"---------------------------------------------------------------------------
  61. .KS
  62. .NH 2
  63. Ex Mode
  64. .LP
  65. The main area in which \fBxvi\fP is lacking is \fBvi\fP's
  66. .B ex
  67. mode,
  68. which is not implemented at all (and neither are \fBedit\fP, \fBe\fP,
  69. and \fBopen\fP modes).
  70. However, many of the \fBex\fP commands are available in \fBxvi\fP as
  71. colon commands;
  72. the colon commands that have not been implemented are mostly those which offer
  73. the same functionality as other commands in \fBvi\fP mode.
  74. .KE
  75. .KS
  76. .LP
  77. Specifically, the following \fBex\fP commands are not implemented,
  78. and probably never will be within \fBxvi\fP:
  79. .DS
  80. .B
  81. .c3 insert undo ex
  82. .c3 change open |
  83. .c3 append z
  84. .R
  85. .DE
  86. .KE
  87. .KS
  88. .nh
  89. .rm hy
  90. while these \fBex\fP commands, although not currently implemented,
  91. may be added as colon commands at some time in the future:
  92. .DS
  93. .B
  94. .c3 abbreviate recover write>>
  95. .c3 unabbreviate join
  96. .R
  97. .DE
  98. .KE
  99. .\"---------------------------------------------------------------------------
  100. .NH 2
  101. Vi commands
  102. .LP
  103. The following \fBvi\fP mode commands are not implemented,
  104. although there is no real reason why they shouldn't be:
  105. .DS
  106. .B
  107. .c3 U =
  108. .R
  109. .DE
  110. .KS
  111. while this one is inappropriate in the context of \fBxvi\fP,
  112. since there is no
  113. .B ex
  114. mode:
  115. .DS
  116. .B Q
  117. .DE
  118. .KE
  119. .\"---------------------------------------------------------------------------
  120. .KS
  121. .NH 2
  122. Parameters
  123. .LP
  124. The following parameters have not been implemented,
  125. and probably won't be:
  126. .DS
  127. .B
  128. .c3 ada lisp redraw
  129. .c3 adapath mesg slowopen
  130. .c3 autoprint modeline term
  131. .c3 beautify open terse
  132. .c3 directory optimize ttytype
  133. .c3 edcompatible prompt window
  134. .c3 hardtabs
  135. .R
  136. .DE
  137. .KE
  138. .KS
  139. while these parameters may well be implemented at some point:
  140. .DS
  141. .B
  142. .c3 autowrite scroll warn
  143. .c3 errorbells sourceany writeany
  144. .R
  145. .DE
  146. .KE
  147. .\"---------------------------------------------------------------------------
  148. .NH 2
  149. Miscellaneous
  150. .LP
  151. Some features of certain commands do not work as they should.
  152. Specifically:
  153. .IP \(bu 5
  154. Repeat counts before insertions don't work.
  155. .IP \(bu 5
  156. Appending to named buffers is not yet implemented.
  157. .IP \(bu 5
  158. Typing \fB^Q\fP in input mode does not mean the same as \fB^V\fP;
  159. it just inserts a `^Q', assuming it gets as far as the editor at all.
  160. .IP \(bu 5
  161. Typing \fB^W\fP in insert mode does not back up one word as in \fBvi\fP.
  162. .IP \(bu 5
  163. It is not possible to interrupt the editor while it is
  164. performing certain operations.
  165. If you start off a big global command, you have to wait for it to finish.
  166. .IP \(bu 5
  167. Flags and counts after colon commands are not supported.
  168. .KS
  169. .IP \(bu 5
  170. It is not possible to read the output of a system command using
  171. .DS
  172. \fB:r\ !\fP\fIcommand\fP
  173. .DE
  174. or to write into a command using
  175. .DS
  176. \fB:w\ !\fP\fIcommand\fP
  177. .DE
  178. .KE
  179. .IP \(bu 5
  180. The \fB:substitute\fP command does not support splitting of lines.
  181. .IP \(bu 5
  182. Regular expressions, although implemented (see later for more details),
  183. do not support the \fB~\fP character;
  184. also, the \fB\e\^u\fP and \fB\e\^l\fP escape sequences are not supported on
  185. the right-hand side of a substitute replacement pattern.
  186. .IP \(bu 5
  187. The \fB:global\fP command only supports the commands [\fBlps&~d\fP].
  188. .IP \(bu 5
  189. \fBUndo\fP does not work properly when applied to macros (either
  190. .B @
  191. or
  192. \fB:map\fP); it should undo all the changes made by the macro, but in
  193. fact only the last command within the macro is undone.
  194. .\"===========================================================================
  195. .NH 1
  196. Enhancements
  197. .LP
  198. The following extensions are available in \fBxvi\fP.
  199. .\"---------------------------------------------------------------------------
  200. .KS
  201. .NH 2
  202. Parameter Handling
  203. .LP
  204. \fBXvi\fP supports 5 types of parameter:
  205. as well as \fBvi\fP's
  206. \fInumeric\fP,
  207. \fIstring\fP and
  208. \fIboolean\fP,
  209. it also has
  210. \fIenumerated\fP and
  211. \fIlist\fP types.
  212. The former is used for e.g. \fBformat\fP and \fBregextype\fP,
  213. while the latter is currently only used for \fBtags\fP.
  214. The advantage of the \fIenumerated\fP type is that if you try
  215. to set an illegal value, the set of correct values will be displayed,
  216. which is very useful if you have forgotten what the values may be.
  217. (Try \fB:set preserve\fP to see an example of this.)
  218. .KE
  219. .\"---------------------------------------------------------------------------
  220. .NH 2
  221. Windows
  222. .LP
  223. \fBXvi\fP supports multiple \fIbuffers\fP and \fIwindows\fP.
  224. A \fIbuffer\fP is the object which holds a file in memory,
  225. while a \fIwindow\fP is an area of the screen which shows part of a buffer.
  226. Note that every window references a buffer, even if no file is being edited.
  227. .LP
  228. The following commands are available for operating on buffers and windows:
  229. .IP \fB:buffer\fP 10
  230. create a new buffer in a new window; can be followed
  231. by a filename, which will be edited in the new buffer.
  232. .IP \fB:split\fP 10
  233. create a new window onto the current buffer by
  234. splitting the current window in half.
  235. The two resulting windows are similar to
  236. .I viewports
  237. on to a single editing buffer,
  238. in that changes made in one window are reflected in the other one.
  239. .IP \fB:close\fP 10
  240. close the current window; will also close the buffer
  241. if this is the last window onto it.
  242. .IP "\fB:x / ZZ\fP" 10
  243. close only the current window.
  244. If the window is the only one onto the buffer,
  245. the buffer will be closed as well,
  246. writing it first if it is modified.
  247. Hence, for a single window, this command does the
  248. same as in \fBvi\fP.
  249. .IP \fBg\fP 10
  250. move to the next window.
  251. This is normally the window directly below the current one
  252. on the screen, or the top window on the screen if the current
  253. window is the bottom one.
  254. .IP \fB^W\fP 10
  255. increase the size of the current window (may be
  256. given a numeric prefix, default is one line).
  257. .IP \fB^T\fP 10
  258. decrease the size of the current window (may be
  259. given a numeric prefix, default is one line).
  260. .IP \fB^O\fP 10
  261. make the current window as large as possible.
  262. .IP \fB^]\fP 10
  263. as for \fBvi\fP, but creates a new buffer window
  264. if appropriate (and if \fBautosplit\fP allows).
  265. .LP
  266. Note that the \fB:quit\fP command quits out of the editor,
  267. not out of a window.
  268. The \fB:close\fP command is thus the equivalent of \fB:quit\fP for windows.
  269. There is no equivalent of \fB:x\fP or \fBZZ\fP for the whole editor;
  270. these have been hijacked for operations on windows.
  271. .LP
  272. Also the numeric \fBautosplit\fP parameter specifies the maximum number
  273. of buffer windows that will be created automatically whenever you
  274. either edit more than one file, or use tags to edit a different file.
  275. .LP
  276. Undo works per buffer, as do marks; yank/put and redo (the \fB.\fP command)
  277. work over all buffers, i.e. you can delete from one buffer and put
  278. the text into a different buffer.
  279. .LP
  280. The \fBminrows\fP parameter specifies the minimum number of rows
  281. to which a window may be shrunk,